package com.brillilab.domain.po.global;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.brillilab.domain.po.system.FileManage;

import lombok.Data;

/**
 * 试剂质粒
 * @author lj
 *
 */
@Data
@TableName("global_reagent_plasmid")
public class GlobalReagentPlasmid  implements Serializable{

    private static final long serialVersionUID = 1L;

    @TableId(type=IdType.AUTO)
	private Long id;
    
    /**
     * kitId
     */
    private Long kitId;
    /**
     * 试剂ID
     */
    private Long reagentId;
    /**
     * 质粒名称
     */
    private String plasmidName;
    /**
     * 骨架质粒名称
     */
    private String skeletonPlasmidName;
    /**
     * 基础质粒长度
     */
    private String basalPlasmidLength;
    /**
     * 启动子
     */
    private String promoter;
    /**
     * 分类
     */
    private String classify;
    /**
     * 原核扩增抗性
     */
    private String prokaryoticResistance;
    /**
     * 真核表达筛选抗性
     */
    private String eukaryoticResistance;
    /**
     * 表达标签
     */
    private String label;
    /**
     * 上游测序引物
     */
    private String upstreamPrimers;
    /**
     * 下游测序引物
     */
    private String downstreamPrimers;
    /**
     * 克隆宿主
     */
    private String clonedHost;
    /**
     * 表达宿主
     */
    private String expressionHost;
    /**
     * 拷贝水平
     */
    private String copyLevel;
    /**
     * 质粒类型
     */
    private String plasmidType;
    /**
     * 组成型/诱导型
     */
    private String constitutive;
    /**
     * 诱导方法
     */
    private String inductionMethod;
    /**
     * 克隆方法
     */
    private String clonedMethod;
    /**
     * 图谱文件
     */
    private String atlasFile;
    /**
     * 测序报告文件
     */
    private String reportFile;
    /**
     * 序列文摘文件
     */
    private String abstractFile;
    /**
     * 其他文件
     */
    private String otherFile;
    
    /**创建时间*/
    private Date createTime;

    /**修改时间*/
    private Date updateTime;
    /**
	 * 图谱文件列表
	 */
	@TableField(exist = false)
	private List<FileManage> atlasFileList;
	/**
	 * 测序报告文件列表
	 */
	@TableField(exist = false)
	private List<FileManage> reportFileList;
	/**
	 * 序列文摘文件列表
	 */
	@TableField(exist = false)
	private List<FileManage> abstractFileList;
	/**
	 * 其他链接文件列表
	 */
	@TableField(exist = false)
	private List<FileManage> otherFileList;
	
    /**试剂质粒片段列表*/
    @TableField(exist = false)
    List<GlobalReagentPlasmidFragment> fragmentList;
}
